#include <iostream>
#include <string>
#include "DiccTrie.h" 
#include "Multiconjunto.h"
#include "ConjString.h" 
#include "Recetario.h"

using namespace std;


int main() {


	Recetario rec;
	rec.agregarIngrediente("aceite");
	rec.agregarIngrediente("sal");
	rec.agregarIngrediente("vinagre");
	rec.agregarIngrediente("maiz");
	cout << rec.ingredientes();
	MConj m;
	ConjString c;
	c.agregar("maiz");
	c.agregar("vinagre");
	c.agregar("sal");
	c.agregar("aceite");
	m.mAgregarN("maiz", 27 );
	m.mAgregarN("aceite", 4);
	m.mAgregarN("sal", 27 );
	m.mAgregarN("vinagre", 4);
	m.mAgregarN("vino", 4);
	m.mAgregarN("ingredientesecreto", 3);
	
	cout << m.mCantidad("maiz");
	cout << m;
	cout << "sñdskñsaaaaañ********************\n\n";
	MConj mprueba(m);
	cout << mprueba;
	mprueba.mEliminar("vino");
	cout << mprueba;
	cout << m; 
	MConj m5 = m;
	MConj pedido2;
	pedido2.mAgregarN("aceite", 4);
	pedido2.mAgregarN("ingredientesecreto", 4);
	rec.agregarPlato("platouno", MConj(m));
	rec.agregarPlato("platoplatense", pedido2);
	
	MConj pedido;
	pedido.mAgregarN("platouno", 5); 
	pedido.mAgregarN("platouno", 10); 
	pedido.mAgregarN("platoplatense", 20); 
	cout << "Este es el pedido: \n" << pedido;
	cout <<	rec.platos();
	MConj m4 = pedido;
	cout << m4;
	m4.mEliminar("platouno");
	cout << m4;
	cout << pedido;

	cout << "CANTIDAD NECESARIA DE ACEITE: " << rec.cantidadNecesaria("platouno", "aceite");
	cout << "CANTIDAD NECESARIA DE PEDIDO: " << rec.cantidadNecesariaPedido(pedido, "sal");
	cout << "CANTIDAD NECESARIA DE PEDIDO: " << rec.cantidadNecesariaPedido(pedido, "vinagre");
	cout << "CANTIDAD NECESARIA DE PEDIDO: " << rec.cantidadNecesariaPedido(pedido, "maiz");
	cout << "CANTIDAD NECESARIA DE PEDIDO: " << rec.cantidadNecesariaPedido(pedido, "maiz");
	cout << "INGREDIENTES NECESARIOS: " << rec.ingredientesNecesarios("platouno");
	cout << rec.ingredientesPedido(pedido);
	cout << rec.ingredientesNecesariosPedido(pedido);

}	

	




